/*******************************************************************************
 * Classe BombeFertile : classe créant la bombe fertile, bombe qui se divise en
 *                       plusieurs autres.
 ******************************************************************************/
package Armes;

import prjintwg.ProjectileSimple;
import java.awt.*;
import prjintwg.PnlJeu;

/**
 *
 * @author W&G
 */
public class BombeFertile extends ProjectileSimple {

    private SousBombe sb1;//sous bombe 1
    private SousBombe sb2;//sous bombe 2
    private SousBombe sb3;//sous bombe 3
    private SousBombe sb4;//sous bombe 4
    private SousBombe sb5;//sous bombe 5
    private boolean explose = false;//variable disant si la bombe a explosé ou non

    /**
     * Contructeur de BombeFertile
     * @param positionX position en x de depart de la bombe
     * @param positionY position en y de depart de la bombe
     * @param pnlJeu panneau contenant la bombe
     */
    public BombeFertile(int positionX, int positionY, PnlJeu pnlJeu) {
        super(positionX, positionY, pnlJeu);
        rayonExplosion = 15;
        this.puissance = 1.4;
    }
/**
 * Methode qui divise la bombe en plusieurs sous-bombes
 */
    public void division() {
        if (explose == false) {
            super.getThread().stopThread();
            sb1 = new SousBombe(this.positionX, this.positionY, pnlJeu, vitesseX - 2, vitesseY + 2, 1, this);
            sb2 = new SousBombe(this.positionX, this.positionY, pnlJeu, vitesseX - 0.8, vitesseY + 2, 2, this);
            sb3 = new SousBombe(this.positionX, this.positionY, pnlJeu, vitesseX, vitesseY + 2, 3, this);
            sb4 = new SousBombe(this.positionX, this.positionY, pnlJeu, vitesseX + 0.8, vitesseY + 2, 4, this);
            sb5 = new SousBombe(this.positionX, this.positionY, pnlJeu, vitesseX + 2, vitesseY + 2, 5, this);
            pnlJeu.getPnlConteneur().add(sb1);
            pnlJeu.getPnlConteneur().add(sb2);
            pnlJeu.getPnlConteneur().add(sb3);
            pnlJeu.getPnlConteneur().add(sb4);
            pnlJeu.getPnlConteneur().add(sb5);
            explose = true;
        }

    }
/**
 * Retourne si la bombe est explosée ou non
 * @return Retourne si la bombe est explosée ou non
 */
    public boolean isExplose() {
        return explose;
    }
/**
 * Retourne la sous bombe 1
 * @return Retourne la sous bombe 1
 */
    public SousBombe getSb1() {
        return sb1;
    }
/**
 * Retourne la sous bombe 2
 * @return Retourne la sous bombe 2
 */
    public SousBombe getSb2() {
        return sb2;
    }
/**
 * Retourne la sous bombe 3
 * @return Retourne la sous bombe 3
 */
    public SousBombe getSb3() {
        return sb3;
    }
/**
 * Retourne la sous bombe 4
 * @return Retourne la sous bombe 4
 */
    public SousBombe getSb4() {
        return sb4;
    }
/**
 * Retourne la sous bombe 5
 * @return Retourne la sous bombe 5
 */
    public SousBombe getSb5() {
        return sb5;
    }

    @Override
    public void paintComponent(Graphics g) {//Dessine les composants
        if (explose == false) {
            g.setColor(Color.CYAN);
            g.fillOval(positionX, TAILLEFENETRE - this.positionY, 10, 10);
        }
        if (explose == true) {
            sb1.paintComponent(g);
            sb2.paintComponent(g);
            sb3.paintComponent(g);
            sb4.paintComponent(g);
            sb5.paintComponent(g);
        }
    }
}
